﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using HelloWorld.Helper;
using HelloWorld.Learn;

namespace HelloWorld
{    
    public class Program
    {
        public static void Main()
        {
            // // delegate
            //Learn.DelegateDemo.Demo();

            // var result = ExternDemo.Demo();
            // Console.WriteLine(result);
            
            // // Attribute
            //AttributeDemo.Demo();

            // // Yield
            // var nums = new List<int>{10, 23, 36, 85, 102, 39, 201, 86, 48};
            // var datas = new YieldDemo<int>(nums);
            // foreach (var d in datas)
            //     Console.WriteLine($"Yield IEnumberable data : {d}");

            // // VolatileDemo
            // VolatileDemo.Demo();
            
            // // Queue
            // QueueDemo.Demo();

            // // Async
            // AsyncDemo.Demo();

            // // explicit
            // ExplicitDemo.Demo();

            // // implicit
            // ImplicitDemo.Demo();

            // // IEnumerable
            // EnumerableDemo.Demo();

            // int seed = 0;
            // var strings = new List<string>{"没有办法演示完整的代码", "因为 LINQ 提供的功能比此处演示的要多得多"};
            // int sumOfStrings = strings.Aggregate(seed, (s1, s2) => s1 + s2.Length);
            // Console.WriteLine(sumOfStrings);

            Console.Read();
        }
    }
}
